# Класс для работы с логированием сообщений

Производит потокобезопасные операции с выводом сообщений в консоль и в файлы. Обеспечивает безопасный доступ к файлу и консоли из разных потоков.

Класс File может обеспечивать безопасный доступ к файлам из разных процессов. [Подробнее](https://gitverse.ru/MaksMN/FileActionsCPP)

Добавлен класс Logger, работающий в связке с File

**Концепция:**
 Очень часто возникает ситуация, когда в приложении требуются глобальные функции и методы которые доступны всем экземплярам всех классов. И чтобы не надо было заботиться о передаче указателей и ссылок между классами.

В любой части своего приложения можно без предварительных объявлений и передачи указателей можно выполнять такой код:
```cpp
Logger::log->console("Hello, Logger!");
Logger::log->write_file("This is a log sting in file.");
```

Возможность создания коротких псевдонимов:
```cpp
class SampleClass
{
private:
    // короткий псевдоним
    std::shared_ptr<ILogger> l = Logger::log;
public:
    void sample_function() {
        /* your code */
        l->console("Hello? Im logger pseudonym");
        l->write_file("Hello? Im logger pseudonym");
    }
};
```